package cn.tedu.generic;

import java.util.ArrayList;
import java.util.List;

/**
 * @author :Colin
 * @version 创建时间: 2021/6/18 15:16
 */
/*本类用于测试泛型的优点*/
public class TestGeneric {
    public static void main(String[] args) {
        /*1.泛型是怎么来的？--想要模拟数组的类型检查*/
        String []a=new String[5];
        a[0] = "1";
        //a[1] = 3.4;
        a[3] = "泡泡";
        /*2.泛型通常结合着集合一起使用*/
        List list= new ArrayList();
        //没有类型约束，数据类型太自由!
        list.add("雷雷");
        list.add(1);
        list.add(8.8);
        list.add('a');
        list.add("ab");
        System.out.println(list);
        /*3.引入泛型-主要目的是想通过泛型<?>来约束集合中的数据类*/
        /*4.泛型的好处，可以把报错的时机提前，在编译期就报错，而不是
        *运行后才抛出， 在集合中添加元素时会先检查元素的数据类型，不是要求的类型
        就编译失败*/
        List<String> list2= new ArrayList<String>();
        list2.add("雷雷");
        /*list2.add(1);
        list2.add(8.8);
        list2.add('a');*/
        list2.add("ab");
        /*5.<type>可以根据自己的需求设定类型，但是必须是引用类型，不能是基本类型*/
//        List<int> list3= new ArrayList<int>();
        List<Integer> list3= new ArrayList<Integer>();
        list3.add(100);
        System.out.println(list3);
        System.out.println();
    }
}
